package com.noob.susu.excel.annotations;


import com.noob.susu.excel.enums.EnumTransform;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * excel表列名称注解
 *
 * @author shupeng_liao
 */
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ExcelField {

    /**
     * excel表中当前字段对应的excel值是否可以为空,(默认不能为空)
     */
    boolean required() default true;

    /**
     * 表列名称,可匹配多个
     */
    String[] name() default {};

    /**
     * 按照正则表达式取值
     */
    String regex() default "";

    /**
     * 默认值
     */
    String defaultValue() default "";

    /**
     * 枚举转换类型(根据描述获取对应值)
     */
    Class<? extends EnumTransform> enumType() default EnumTransform.class;

    /**
     * 日期类型(文件中的日期类型)
     */
    String[] dateParsePatterns() default {};

    /**
     * 需要的类型(转换后的日期类型)
     */
    String dateFormatPattern() default "";
}
